package com.bot.nft.module.dc.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.bot.nft.module.dc.domain.DcBillLog;
import com.bot.nft.module.dc.domain.vo.DcBillLogVo;

import java.util.Date;
import java.util.List;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author RenXiaoZheng
 * @since 2024-01-24
 */
public interface IDcBillLogService extends IService<DcBillLog> {

    /**
     * 查询藏品交易账单
     *
     * @param type     收支类型
     * @param pageNo   当前第几页
     * @param pageSize 每页显示多少条数据
     * @return PageInfo<DcFlowLogBo *> 分页信息和藏品流转信息集合
     */
    Page<DcBillLogVo> queryDcBillLog(Integer type, Integer pageNo, Integer pageSize);

    /**
     * 查看藏品交易账单
     *
     * @param id 藏品交易账单标识
     * @return DcBillLogBo 藏品交易账单信息，包含交易人名称、收支类型等属性
     */
    DcBillLogVo getDcBillLog(String id);

    /**
     * 导出藏品交易账单
     *
     * @return Boolean 成功/true，失败/false
     */
    List<DcBillLogVo> exportDcBillLog(Integer type, Date billTime, Date endTime);

}
